﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SIIE_ERP.BaseDatos.Configuracion;

namespace SIIE_ERP.Codigo.MiPerfil
{
    public class MiPerfilCode
    {
        public static CambiarContrasenaRespuesta CambiarContrasena(int Id,string RFC, string Anterior, string Nueva, string Confirmacion)
        {
            var db = new dbo_Sec_Usuario();
            string Username = db.Get_UserName(Id); // Obtenemos el Username a partir del Id

            // Verificamos que la contrasena anterior sea correcta
            if (Login.LoginCode.ValidaUsuario(Username, Anterior,RFC).Id != 6)
            {
                return CambiarContrasenaRespuesta.ERROR_ANTERIOR;
            }

            //Si la contrasena actual es correcta
            if (Nueva.Equals(Confirmacion))
            {
                if(Nueva.Length > 0) 
                {
                    if (SIIE_ERP.BaseDatos.Configuracion.dbo_Sec_Usuario.Update_Usuario_NuevaContrasena(Id, Nueva).Id == 1)
                    {
                        return CambiarContrasenaRespuesta.OK;
                    }
                    else
                    {
                        return CambiarContrasenaRespuesta.ERROR_BASEDEDATOS;
                    }
                }
                else
                {
                    return CambiarContrasenaRespuesta.FORMATO_INVALIDO;
                }
            }
            else
            {
                return CambiarContrasenaRespuesta.NO_COINCIDEN;
            }            
        }

    }

    public enum CambiarContrasenaRespuesta
    {
        OK,
        FORMATO_INVALIDO,
        NO_COINCIDEN,
        ERROR_ANTERIOR,
        ERROR_BASEDEDATOS
    }
}
